home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-06-26 | 1.5 KB | 59 lines | [TEXT/CWIE] |
- #include <A4Stuff.h>
- #include <MixedMode.h>
- #include <QDOffscreen.h>
-
- #define KeyMapLoMem ((unsigned char *)0x174)
- #define KeyIsDown(key) (( KeyMapLoMem[ key >> 3 ] >> ( key & 7)) &1)
-
- #define helpKey 0x72
-
- enum {
- getNextEventProcInfo = (kPascalStackBased | RESULT_SIZE(sizeof(Boolean)) |
- STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short))) |
- STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord *)))
- )
- };
-
- RoutineDescriptor *gGetNextEventAddr;
- pascal Boolean MyGetNextEvent(short eventMask, EventRecord *theEvent);
-
- void main(void);
- RoutineDescriptor MainRD = BUILD_ROUTINE_DESCRIPTOR(kCStackBased, main);
-
- void main(void)
- {
- UniversalProcPtr theProcPtr;
- THz theZone;
-
- EnterCodeResource();
-
-
- DetachResource(GetResource('INIT',2));
-
- theZone = GetZone();
- SetZone(SystemZone());
-
-
- gGetNextEventAddr = NGetTrapAddress(_GetNextEvent, ToolTrap);
- theProcPtr = NewRoutineDescriptor( (ProcPtr)MyGetNextEvent,getNextEventProcInfo, GetCurrentArchitecture() );
- NSetTrapAddress(theProcPtr, _GetNextEvent, ToolTrap);
-
-
- SetZone(theZone);
-
- ExitCodeResource();
- }
-
- pascal Boolean MyGetNextEvent(short eventMask, EventRecord *theEvent) {
-
- Boolean result;
-
- if(KeyIsDown(helpKey)){
- result = CallUniversalProc((UniversalProcPtr)gGetNextEventAddr, getNextEventProcInfo, eventMask, theEvent);
- theEvent->what = 0;
- return false;
- } else {
- result = CallUniversalProc((UniversalProcPtr)gGetNextEventAddr, getNextEventProcInfo, eventMask, theEvent);
- return result;
- }
- }